package com.tengfei.main.exam.domain.bo;

import com.tengfei.common.core.validate.AddGroup;
import com.tengfei.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 试卷业务对象 exam_paper
 *
 * @author tengfei
 * @date 2022-07-31
 */

@Data
@ApiModel("试卷业务对象")
public class PaperBo {

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Long paperId;

    /**
     * 考试名称
     */
    @ApiModelProperty(value = "考试名称", required = true)
    @NotBlank(message = "考试名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String paperName;

    /**
     * 考试描述
     */
    @ApiModelProperty(value = "考试描述", required = true)
    private String paperDesc;

    /**
     * 开始状态
     */
    @ApiModelProperty(value = "考试状态", required = true)
    @NotNull(message = "考试状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer paperStatus;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间", required = true)
    @NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date paperStartTime;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间", required = true)
    @NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date paperEndTime;

    /**
     * 合格分数
     */
    @ApiModelProperty(value = "合格分数", required = true)
    @NotNull(message = "合格分数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer paperPassScore;

    /**
     * 考试时长
     */
    @ApiModelProperty(value = "考试时长", required = true)
    @NotNull(message = "考试时长不能为空(秒)", groups = { AddGroup.class, EditGroup.class })
    private Integer paperDuration;

    /**
     * 题目是否乱序
     */
    @ApiModelProperty(value = "题目是否乱序(0:不乱序,1:乱序)", required = true)
    @NotNull(message = "题目是否乱序不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer paperQuUpset;

    /**
     * 选项是否乱序
     */
    @ApiModelProperty(value = "选项是否乱序(0:不乱序,1:乱序)", required = true)
    @NotNull(message = "选项是否乱序不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer paperOptionsUpset;




}
